<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.8" />
<link rel="Shortcut Icon" href="/images/favicon.ico" type="image/x-icon" />
<title></title>
<link rel="stylesheet" href="asciidoc-2.css" tppabs="http://old.peachfuzzer.com/v2/asciidoc.css" type="text/css" />
<link rel="stylesheet" href="website-2.css" tppabs="http://old.peachfuzzer.com/v2/website.css" type="text/css" />
</head>

<body>

<div id="layout-menu-box">
<div id="layout-menu">
  <div><a href="WhatIsPeach.html" tppabs="http://old.peachfuzzer.com/WhatIsPeach.html">What is Peach</a></div>
  <div><a href="Installation.html" tppabs="http://old.peachfuzzer.com/v3/Installation.html"><b>Installing</b></a></div>
  <div><a href="PeachQuickStart.html" tppabs="http://old.peachfuzzer.com/v3/PeachQuickStart.html"><b>Tutorials</b></a></div>
  <div><a href="Methodology.html" tppabs="http://old.peachfuzzer.com/Methodology.html">Methodology</a></div>
  <div><a href="Introduction.html" tppabs="http://old.peachfuzzer.com/Introduction.html">Introduction</a></div>
  <div><a href="Training.html" tppabs="http://old.peachfuzzer.com/Training.html">Training</a></div>
  <div><a href="javascript:if(confirm(%27http://www.dejavusecurity.com/peach.html  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.dejavusecurity.com/peach.html%27" tppabs="http://www.dejavusecurity.com/peach.html">Enterprise</a></div>
  <div><a href="FAQ.html" tppabs="http://old.peachfuzzer.com/v3/FAQ.html">FAQ</a></div>
  <div><a href="javascript:if(confirm(%27http://forums.peachfuzzer.com/forum.php  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://forums.peachfuzzer.com/forum.php%27" tppabs="http://forums.peachfuzzer.com/forum.php">Support Forums</a></div>

  <div><h5>Peach 3</h5></div>
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="PeachPit.html" tppabs="http://old.peachfuzzer.com/v3/PeachPit.html">Peach Pits</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="GeneralConfiguration.html" tppabs="http://old.peachfuzzer.com/v3/GeneralConfiguration.html">General Conf</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="DataModeling.html" tppabs="http://old.peachfuzzer.com/v3/DataModeling.html">Data Modeling</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="StateModel.html" tppabs="http://old.peachfuzzer.com/v3/StateModel.html">State Modeling</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="AgentsMonitors.html" tppabs="http://old.peachfuzzer.com/v3/AgentsMonitors.html">Agents</a></div>
  <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="AgentsMonitors.html" tppabs="http://old.peachfuzzer.com/v3/AgentsMonitors.html">Monitors</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="TestConfig.html" tppabs="http://old.peachfuzzer.com/v3/TestConfig.html">Test</a></div>
        <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="Publisher.html" tppabs="http://old.peachfuzzer.com/v3/Publisher.html">Publishers</a></div>
  <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="Logger.html" tppabs="http://old.peachfuzzer.com/v3/Logger.html">Loggers</a></div>
  <!-- <div>&nbsp;<img src="/images/1.gif" /><a href="/v3/DebuggingPitFiles.html">Debugging Pits</a></div> -->
  <!-- <div>&nbsp;<img src="/images/1.gif" /><a href="/v3/ValidatingPitFiles.html">Validating Pits</a></div> -->
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="RunningPeach.html" tppabs="http://old.peachfuzzer.com/v3/RunningPeach.html">Running</a></div>
  <!-- <div><img src="/images/1.gif" /><a href="/v3/ParallelPeach.html">Parallel</a></div> -->
  <!-- <div><img src="/images/1.gif" /><a href="/v3/ExtendingPeach.html">Extending</a></div> -->
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="minset.html" tppabs="http://old.peachfuzzer.com/v3/minset.html">Minset</a></div>

  <div><h5><a href="peach23.html" tppabs="http://old.peachfuzzer.com/v2/peach23.html">Peach 2.3</a></h5></div>

  <div><hr/></div>

  <div><a href="License.html" tppabs="http://old.peachfuzzer.com/License.html">License</a></div>
</div>
</div>
<div id="layout-content-box">
<div id="layout-banner">
  <div id="layout-title">
    <a href="index.htm" tppabs="http://old.peachfuzzer.com/"><img src="peach_fuzzer.png" tppabs="http://old.peachfuzzer.com/images/peach_fuzzer.png" height="100" /></a>
    <a href="javascript:if(confirm(%27http://www.dejavusecurity.com/peach.html  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.dejavusecurity.com/peach.html%27" tppabs="http://www.dejavusecurity.com/peach.html" class="layout-inner-banner-right">
                <img height="50" src="dejavusecurity.png" tppabs="http://old.peachfuzzer.com/images/dejavusecurity.png" /></a>
  </div>

  <div id="layout-description">
  <script>
  (function() {
    var cx = '007028538774543840348:g-0dlrdlmxs';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>
      </div>
</div>
<div id="layout-content">
<div id="content">
<div class="sect1">
<h2 id="_transformers">Transformers</h2>
<div class="sectionbody">
<div class="paragraph"><p>Transformers perform static tranforms or encoding on the parent element.  These transforms are typically (but not always) two directional (encode and decode).  Such as ZIP compression, Base64 encoding, HTML encoding, etc.</p></div>
<div class="paragraph"><p>Transfomers differ from Fixups in they operate on the parent element while Fixups typically get a reference to another element they pull data from.</p></div>
<div class="paragraph"><p>For example:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;DataModel</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Base64TLV"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
  <span style="font-weight: bold"><span style="color: #0000FF">&lt;Number</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Type"</span> <span style="color: #009900">size</span><span style="color: #990000">=</span><span style="color: #FF0000">"8"</span> <span style="color: #009900">signed</span><span style="color: #990000">=</span><span style="color: #FF0000">"false"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"1"</span> <span style="color: #009900">token</span><span style="color: #990000">=</span><span style="color: #FF0000">"true"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
  <span style="font-weight: bold"><span style="color: #0000FF">&lt;Number</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Length"</span> <span style="color: #009900">size</span><span style="color: #990000">=</span><span style="color: #FF0000">"16"</span> <span style="color: #009900">signed</span><span style="color: #990000">=</span><span style="color: #FF0000">"false"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Relation</span></span> <span style="color: #009900">type</span><span style="color: #990000">=</span><span style="color: #FF0000">"size"</span> <span style="color: #009900">of</span><span style="color: #990000">=</span><span style="color: #FF0000">"base64Block"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
  <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Number&gt;</span></span>

  <span style="font-weight: bold"><span style="color: #0000FF">&lt;Block</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"base64Block"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Transformer</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"encode.Base64Encode"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Blob</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Data"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
  <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Block&gt;</span></span>
<span style="font-weight: bold"><span style="color: #0000FF">&lt;/DataModel&gt;</span></span></tt></pre></div></div>
<div class="paragraph"><p>When out putted would have the value of 0x01&lt;len(b64(Data))&gt;&lt;b64(Data)&gt;</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_default_transformers">Default Transformers</h2>
<div class="sectionbody">
<div class="paragraph"><p><strong>ASN.1</strong></p></div>
<div class="ulist"><ul>
<li>
<p>
BerEncodeBitString
</p>
</li>
<li>
<p>
BerEncodeBoolean
</p>
</li>
<li>
<p>
BerEncodeInteger
</p>
</li>
<li>
<p>
BerEncodeObjectIdentifier
</p>
</li>
<li>
<p>
BerEncodeOctetString
</p>
</li>
<li>
<p>
CerEncodeBitString
</p>
</li>
<li>
<p>
CerEncodeBoolean
</p>
</li>
<li>
<p>
CerEncodeInteger
</p>
</li>
<li>
<p>
CerEncodeObjectIdentifier
</p>
</li>
<li>
<p>
CerEncodeOctetString
</p>
</li>
<li>
<p>
DerEncodeBitString
</p>
</li>
<li>
<p>
DerEncodeInteger
</p>
</li>
<li>
<p>
DerEncodeObjectIdentifier
</p>
</li>
<li>
<p>
DerEncodeOctetString
</p>
</li>
<li>
<p>
DerEncodeBoolean
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong>Compression</strong></p></div>
<div class="ulist"><ul>
<li>
<p>
Bz2Compress
</p>
</li>
<li>
<p>
Bz2Decompress
</p>
</li>
<li>
<p>
GzipCompress
</p>
</li>
<li>
<p>
GzipDecompress
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong>Crypto</strong></p></div>
<div class="ulist"><ul>
<li>
<p>
<a href="Crypt.html" tppabs="http://old.peachfuzzer.com/v2/Crypt.html">Crypt</a>
</p>
</li>
<li>
<p>
UnixMd5Crypt
</p>
</li>
<li>
<p>
ApacheMd5Crypt
</p>
</li>
<li>
<p>
CvsScramble
</p>
</li>
<li>
<p>
<a href="MD5.html" tppabs="http://old.peachfuzzer.com/v2/MD5.html">MD5</a>
</p>
</li>
<li>
<p>
<a href="SHA1.html" tppabs="http://old.peachfuzzer.com/v2/SHA1.html">SHA1</a>
</p>
</li>
<li>
<p>
<a href="HMAC.html" tppabs="http://old.peachfuzzer.com/v2/HMAC.html">HMAC</a>
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong>Encode</strong></p></div>
<div class="ulist"><ul>
<li>
<p>
SidStringToBytes
</p>
</li>
<li>
<p>
WideChar
</p>
</li>
<li>
<p>
<a href="Utf8.html" tppabs="http://old.peachfuzzer.com/v2/Utf8.html">Utf8</a>
</p>
</li>
<li>
<p>
<a href="Utf16.html" tppabs="http://old.peachfuzzer.com/v2/Utf16.html">Utf16</a>
</p>
</li>
<li>
<p>
Utf16Le
</p>
</li>
<li>
<p>
Utf16Be
</p>
</li>
<li>
<p>
UrlEncode
</p>
</li>
<li>
<p>
UrlEncodePlus
</p>
</li>
<li>
<p>
HtmlEncode
</p>
</li>
<li>
<p>
HtmlDecode
</p>
</li>
<li>
<p>
HtmlEncodeAgressive
</p>
</li>
<li>
<p>
JsEncode
</p>
</li>
<li>
<p>
NetBiosEncode
</p>
</li>
<li>
<p>
NetBiosDecode
</p>
</li>
<li>
<p>
Base64Encode
</p>
</li>
<li>
<p>
Base64Decode
</p>
</li>
<li>
<p>
Ipv4StringToOctet
</p>
</li>
<li>
<p>
Ipv4StringToNetworkOctet
</p>
</li>
<li>
<p>
Ipv6StringToOctet
</p>
</li>
<li>
<p>
<a href="Hex.html" tppabs="http://old.peachfuzzer.com/v2/Hex.html">Hex</a>
</p>
</li>
<li>
<p>
HexString
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong>Type</strong></p></div>
<div class="ulist"><ul>
<li>
<p>
StringToInt
</p>
</li>
<li>
<p>
StringToFloat
</p>
</li>
<li>
<p>
IntToHex
</p>
</li>
<li>
<p>
_AsNumber
</p>
</li>
<li>
<p>
AsInt8
</p>
</li>
<li>
<p>
AsInt16
</p>
</li>
<li>
<p>
AsInt24
</p>
</li>
<li>
<p>
AsInt32
</p>
</li>
<li>
<p>
AsInt64
</p>
</li>
</ul></div>
<div class="paragraph"><p><strong>Misc</strong>
 * Eval</p></div>
</div>
</div>
</div>
<div id="footnotes"></div>
<div id="footer">
<div id="footer-text">

<table width="100%">
<td><td>
<a href="javascript:if(confirm(%27http://dejavusecurity.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://dejavusecurity.com/%27" tppabs="http://dejavusecurity.com/"><img src="dejavusecurity.png" tppabs="http://old.peachfuzzer.com/images/dejavusecurity.png" height="50"/></a>
</td><td>&nbsp;&nbsp;&nbsp;</td><td>

Copyright (c) <a href="javascript:if(confirm(%27http://dejavusecurity.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://dejavusecurity.com/%27" tppabs="http://dejavusecurity.com/">Deja vu Security</a> <br/>
Last updated 2014-02-23 21:22:05 PST
</td>
</table>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1094513-10']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www/') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</div>
</div>
</div>
</div>
</body>
</html>
